Apparatus and method for sampling rate conversion with rational factors

ABSTRACT

A rational decimation circuit (200) has an integration filter (210) and an FIR-filter (220). The integration filter (210) has N serially arranged integrator blocks (230-n) and an interpolator block (250). The FIR-filter (220) has K filter channels (260-k) and a commutator (290) which are controlled by a control block (300). Each channel (260-k) has a multiplier unit (270-k) and an accumulator unit (280-k). 
     The integration filter (210) has a transfer function with N-fold poles and the FIR-filter (220) has a transfer function with zeros which cancel the poles. FIR-coefficients h k  (T V ) in the FIR-filter (220) are related to the F V  /F X  ratio of the interpolator block (250) and to the number N of integrator blocks (230-n). A method is also described.

FIELD OF THE INVENTION

The present invention generally relates to electronic circuits, and, more particularly to a circuit which converts sampling rates of digital signals.

BACKGROUND OF THE INVENTION

Digital signal processing (DSP) is concerned with the representation of signals by sequences of numbers or symbols ("digits") and the processing of these digital signals ("time discrete signals"). DSP has a wide variety of applications and its importance is evident in such fields as radio communication, telecommunications, pattern recognition, and many others. It is often required to change sampling rates of these signals in sampling rate converters. For the application of sampling rate converters, the following references are useful:

1! Crochiere, R. E. and Rabiner, L. R.: "Interpolation and Decimation of Digital Signals--A Tutorial Review", Proceedings of the IEEE, vol. 69, No. 3, March 1981;

2! Proakis, J. G., Manolakis, D. G.: "Digital Signal Processing", Third Edition, Prentice Hall, Upper Saddle River, 1996, ISBN 0-13-373762-4, sections 10.1 to 10.6 of chapter 10 "Multirate Digital Signal Processing";

3! Norsworthy, S. R., Schreier, R., Temes, G. C.: "Delta-Sigma Data Converters", IEEE Press, New York, 1997, ISBN 0-7803-1045-4; and

4! Chu, Shuni; Burrus, C. S.: "Multirate Filter Designs Using Comb Filters", IEEE Transactions on Circuits and Systems, vol. CAS-31, pages 913-924, November 1984.

According to reference 1!, by "decimation", the sampling rate F of a given digital signal is digitally converted to a lower sampling rate F'(F'<F) by a factor M, called the "decimation factor"; and by "interpolation", the sampling rate F is converted to a higher sampling rate F'(F'>F) by a factor L, called the "interpolation factor". 1! also teaches sampling rate converting by, for example, interpolators (sampling rate expanders), decimators (sampling rate compressors), low-pass filters, sample- and hold circuits, finite impulse response filters (FIR) in polyphase structures with commutators and by other means. 1! discusses the quality of sampling rate conversion by frequency spectra. While factors M and L are, conveniently, integers, modern telecommunication applications often require rational conversion factors, such as M/L. FIG. 4 of 1! illustrates a cascade of an integer interpolator and an integer decimator for achieving rational conversion.

In the art, the term "down-sampling" is used as a synonym for "decimating", and the "up-sampling" is used for "interpolating".

The present invention seeks to provide an improved circuit for sampling rate conversion which mitigates or avoids disadvantages and limitations of the prior art.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a simplified block diagram of data processing system;

FIG. 2 illustrates simplified time diagrams for an analog signal and for digital signals occurring in the system of FIG. 1;

FIG. 3 illustrates a simplified block diagram of a rational decimation circuit of the prior art which can be used in the data processing system of FIG. 1;

FIGS. 4-5 illustrate a simplified block diagram of a rational decimation circuit of the present invention which is preferably used in the system of FIG. 1;

FIG. 6 illustrates a simplified time diagram of a digital intermediate signal;

FIG. 7 illustrates a simplified time diagram of a further digital intermediate signal;

FIG. 8 illustrates simplified spectra of digital signals occurring in the circuit of FIGS. 4-5 and of transfer functions of elements of the circuit of FIGS. 4-5;

FIG. 9 illustrates a simplified time diagram of coefficients provided by a control block and supplied to channels in the system of FIGS. 4-5; and

FIG. 10 illustrates a simplified flow chart diagram of a method according to the present invention.

DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT

For convenience, a glossary of terms used here and their definitions is provided prior to the claims. Apparatus and method of the present invention are explained in the following order: (a) in the text, introducing conventions for a Z-transformation of signals; (b) by FIG. 1, illustrating data processing system 100; (c) by FIG. 2, illustrating signals x(t), X₀ (T_(X)) and Y₀ (T_(Y)) in system 100; (d) by FIG. 3, illustrating prior art rational decimation circuit 600; (e) by FIGS. 4-5, illustrating rational decimation circuit 200 of the present invention; (f) by FIG. 6, illustrating signal X_(n) (T_(X)) occurring in circuit 200; (g) by FIG. 7, illustrating signal V₁ (T_(V)) occurring in circuit 200; (h) by FIG. 8, illustrating signal spectra for explaining frequency transfer functions H_(XV) (Z) and H_(VY) (Z); (i) in the text, explaining a preferred FIR-function; (j) in the text, explaining further modifications of the FIR-function; (k) in the text in connection with tables I and II, explaining FIR-coefficients of the FIR-function; (l) explaining further details of the FIR-function; (m) in the text with table III and by FIG. 9, illustrating the generation of the FIR-coefficients; (n) by FIG. 10, illustrating a method of the present invention; and (o) further discussion of the present invention.

(a)

A discrete time signal Θ(ν) has substantially constant magnitudes Θ during a discrete time interval T which is counted by ν. Intervals T can be identified by other integer numbers, such as e.g., T=0, T=1, T=2 and so on, or by indices, such as, e.g., p, P, a, v, or γ. A Z-transform Z{Θ(ν)} of signal Θ(ν) can be calculated by: ##EQU1## wherein the z is the dimensionless Z-transformation operator. The Z-transformation operator is described, for example, in section 3.1 ("The Z-transform") of 2!. The notation z(-ν) represents the function z⁻ν. This convention is used hereafter. The Z-transformation is useful also for expressing frequency transfer functions H(z). The present invention uses discrete time signals Θ(ν) written as X₀ (T_(X)), V₁ (T_(V)) and Y₀ (T_(Y)) and others which can are based on different time intervals

    T.sub.V <T.sub.X <T.sub.Y                                  (a. 2)

with

    T.sub.X =T.sub.V * L.sub.XV and                            (a.3)

    T.sub.Y =T.sub.V * M.sub.VY                                (a. 4)

For further explanations, unless otherwise specified, the Z-transformations are referred to the shortest time interval T_(V) counted by ν': ##EQU2## This is convenient for explanation by not essential for the present invention. For example, to obtain the Z-transform Z{Θ(T_(X))} of Θ(T_(X)), time interval T_(V) of equation (a.5) is substituted by T=T_(V) *L_(XV) : ##EQU3##

(b)

FIG. 1 illustrates a simplified block diagram of data processing system 100 (hereinafter system 100). System 100 comprises analog-to-digital (A/D) converter 110, rational decimation circuit 200 (hereinafter circuit 200), and processor 130 which are coupled in a chain. Circuit 200 is preferably, implemented according to the present invention, while A/D converter 110 and processor 130 can be circuits known in the art. Circuit 200 of the present invention and a preferred method of its operation are explained in connection with FIGS. 2 and 4-10. To distinguish circuit 200 of the present invention over the prior art, prior art circuit 600 is explained in connection with FIG. 3. Prior art circuit 600 can be used instead of circuit 200.

System 100 can be used in a variety of telecommunication and other applications. Conveniently, system 100 can be part of cellular phones operating according to international standards, such as for example CDMA (Code Division Multiple Access) and GSM (Global System for Mobile Communication).

A/D converter 110 is, preferably a sigma-delta modulator. A/D converter 110 receives analog input signal x(t) (reference number 101) and provides digital signal X₀ (T_(X)) (reference number 112). Decimation circuit 200 receives X₀ (T_(X)) at input terminal 211 and provides digital signal Y₀ (T_(Y)) (reference number 122) at output terminal 222. Or, prior art circuit 600 transfers signals from input terminal 611 to output terminal 622. Preferably, processor 130 is a digital-signal processor (DSP) which further processes Y₀ (T_(Y)).

Analog signal x(t) has frequency components f=0 to a maximum frequency f_(max). For example, x(t) can be a voice signal with f_(max) =8 kHz. Preferably, digital signal X₀ (T_(X)) has a sampling rate F_(X) in the megahertz (MHz) region, with for example,

    F.sub.X CDMA =4.2 MHz (for CDMA), and                      (b.1)

    F.sub.X GSM =6.5 MHz (for GSM)                             (b.2)

but other values or also possible. Decimation circuit 200 digitally converts sampling rate F_(Y) of X₀ (T_(X)) to a lower sampling rate F_(Y) of Y₀ (T_(Y)) by rational overall decimation factor M_(XY) :

    F.sub.X >F.sub.Y                                           (b. 3)

    F.sub.Y =F.sub.X /M.sub.XY                                 (b. 4)

For convenience, factor M_(XY) (M_(XY) >1) has indices "X" and "Y" indicating a conversion direction "from X to Y". The same convention is followed with respect to other factors, such as "L_(XV) ", "M_(VY) " or "H_(XY) (z)". Conveniently, processor 130 processes Y₀ (T_(Y)) with sampling rate F_(Y) in the kilohertz region, e.g.,

    F.sub.Y =16 kHz.                                           (b.5)

used in, for example, CDMA and GSM systems, but other sampling rates F_(Y) can also be used. Decimation factor M_(XY) can have values, such as, for example:

    M.sub.XY CDMA =4.2 MHz/16 kHz=262.5(CDMA)                  (b.6)

    M.sub.XY GSM =6.5 MHz/16 kHz=406.26(GSM)                   (b.7)

The present invention is explained in reference to numeric values of equations (b.5) and (b.6) for CDMA-systems. This "CDMA-example" is not intended to be limiting. Those of skill in the art are able, based on the description herein, to also apply the present invention to others applications.

(c)

FIG. 2 illustrates simplified time diagram 105 for analog signal x(t), diagram 115 for digital signal X₀ (T_(X)), and diagram 125 for digital signal Y₀ (T_(Y)) occurring in system 100. Diagrams 105, 115, and 125 have vertical axes for signal amplitudes and horizontal axes for the time.

Diagram 105, illustrates signal x(t) (trace 108) during time t. Points 106 and 107 on trace 108 show that x(t) is sampled by A/D converter 110 in each discrete interval T_(X). T_(X) is the reciprocal representation of sampling rate F_(X) :

    T.sub.X =1/F.sub.X                                         (c. 1)

According to the well known sampling theorem, F_(X) is equal or larger than the twofold maximum frequency of f_(max) of x(t):

    F.sub.X ≧2*f.sub.max                                (c. 2)

It is convenient for further explanation to assume that A/D converter 110 uses oversampling, that means relatively large F_(X) :

    F.sub.X >>2*f.sub.max                                      (c. 3)

    F.sub.X >M.sub.XY *2*f.sub.max                             (c. 4)

In the CDMA-example, voice (e.g., f_(max) ≈8 kHz) is oversampled with the interval:

    T.sub.X CDMA =1/F.sub.X CDMA ≈0.238 μs          (c.5)

or in other words, T_(X) is approximately a quarter (1/4) of a micro second.

Diagram 115 illustrates digital signal X₀ (T_(X)) during discrete time intervals T_(X) (e.g., T_(X) CDMA). To indicate that X₀ (T_(X)) is assumed to be constant during T_(X), horizontal signal traces 116 and 117 illustrate X₀ (T_(X)) parallel to the time axis T_(X). Auxiliary traces 119 go vertically between traces 116, 117 and the time axis. Traces 119 are not part of the signal and provided only for convenience. This convention is applied also in other diagrams.

Converter 110 provides X₀ (T_(X)) for every time interval T_(X). Preferably, digital signal 0_(X) (T_(X)) has a binary data range {X₀ } with positive ("+1", traces 116) and negative ("-1", traces 117) values:

    {X.sub.0 }={-1; +1}                                        (c.6)

For example, X₀ (0) at T_(X) =0, X₀ (1) at T_(X) =1, X₀ (4) at T_(X) =4, X₀ (6) at T_(X) =6, X₀ (p) at T_(X) =P (trace 116') are "+1"; and X₀ (3) at T_(X) =3 and X₀ (P+1) at T_(X) =P30 1 are "-1". To use such a data range is convenient, but not necessary.

Diagram 125 illustrates digital signal Y₀ (T_(Y)) during discrete time intervals T_(Y). Decimation circuit 200 provides Y₀ (γ) at T_(Y) =γ (trace 126), Y₀ (γ+1) at T_(Y) =γ+1 (trace 127), Y₀ (γ+2) at T_(Y) =γ+2 (trace 128), etc. T_(Y) is the reciprocal representation of sampling rate F_(Y) :

    T.sub.Y =1/F.sub.Y                                         (c. 6)

In the CDMA-example, T_(Y) is, e.g.:

    T.sub.Y CDMA =1/F.sub.Y CDMA =1/16 kHz=62.5 μs          (c.7)

Rational decimation factor M_(XY) is conveniently illustrated by looking at diagrams 115 and 125. Vertical line 129 goes from the end of time interval T_(Y) =γ in diagram 125 through trace 116' with signal X₀ (P) in diagram 115. Vertical line 129' connects the vertical amplitude axes. Line 129 and 129' project T_(Y) from diagram 125 to diagram 115. An integer number of P signals X₀ (T_(X)) (e.g., X₀ (O) to X₀ (P-1) ) fits into T_(Y), wherein one signal (e.g., X₀ (P) ) overlaps. The number P is the integer part of M_(XY) :

    P=integer (M.sub.XY)                                       (c.8)

For the CDMA-example, P is obtained as:

    P.sub.CDMA =integer (M.sub.XY CDMA)=integer (262.5)=262    (c.9)

Distances of traces 126, 127 and 128 to the T_(Y) -axis symbolize a magnitude of Y₀ (T_(Y)). Conveniently, Y₀ (T_(Y)) during T_(Y) =γ is represented by a digital word having U bits. Preferably, the digital words has a data range:

    {Y.sub.0 }={- 2 exp (U-1)!;  2 exp (U-1)!-1}               (c.10)

Preferably, U equal U=16 bits, but other values U and other ranges can also be used.

(d)

FIG. 3 illustrates a simplified block diagram of rational decimation circuit 600 of the prior art (hereinafter circuit 600) which can be used in the data processing system 100. Circuit 600 comprises serially coupled interpolation circuit 610 and decimation circuit 620. Interpolation circuit 610 receives digital signal X₀ '(T_(X)) from input terminal 611 and provides intermediate signal V₁ '(T_(V)) to line 612. Decimation circuit 620 receives intermediate signal V₁ '(T_(V)) from line 612 and provides output signal Y₀ '(T_(Y)) at output terminal 622.

Sampling rates F_(X) ' of X₀ ', F_(V) ' of V₁ ', and F_(Y) ' of Y₀ ' are related as:

    F.sub.X '<F.sub.V '                                        (d.1)

    F.sub.V '>F.sub.Y '                                        (d.2)

    F.sub.V =L.sub.XV '*F.sub.X ',                             (d.3)

with partial interpolation factor L_(XV) ';

    F.sub.Y '=F.sub.V '/M.sub.VY '                             (d.4)

with partial decimation factor M_(VY) '; and

    F.sub.Y '=F.sub.X '*(M.sub.VY '/L.sub.XV)                  (d.5)

    F.sub.Y '=F.sub.X '/M.sub.XY '                             (d.6)

with overall decimation factor M_(XY) '.

Interpolation circuit 610 comprises differentiator chain 613, interpolator 615, and integrator chain 617 serially coupled between input terminal 611 and line 612. Decimation circuit 620 comprises integrator chain 623, decimator 625, and differentiator chain 627 serially coupled between line 612 and output terminal 622. Differentiator chain 613 comprises N₁ differentiators 614 and differentiator chain 627 comprises N₂ differentiators 628. Integrator chain 617 comprises N₁ integrators 618 and integrator chain 623 comprises N₂ integrators 624.

In the CDMA-example (M_(XY) CDMA =262.5), L_(XV) ' and M_(VY) ' are conveniently chosen as:

    L.sub.XV '=4                                               (d.7)

    M.sub.VY '=1050                                            (d.8)

resulting in F_(V) '=16.8 MHz. Differentiator chain 613 in interpolation circuit 610 and integrator chain 623 in decimation circuit 620 operate at the relatively high sampling rates F_(X) ' and F_(V) ', respectively, which is not wanted. In the CDMA-example, integrator chain 623 must accommodate signal changes which occur at time intervals

    T.sub.V '=1/F.sub.V '≈0.06 μs                   (d.9)

Such short intervals T_(V) ' are similar to the operation time of hardware components in which the integrators are often implemented.

(e)

FIGS. 4-5 illustrate a simplified block diagram of rational decimation circuit 200 (hereinafter circuit 200) of the present invention. Circuit 200 is the preferred embodiment used in system 100 of FIG. 1. FIGS. 4-5 are connected by placeholder 1 and should be considered together. Circuit 200 comprises integration filter 210 (FIG. 4) and FIR-filter 220 (FIG. 5) shown by dashed frames. Integration filter 210 has N integrator blocks 230-n (hereinafter INTEG n) and interpolator block 250 or "converter" (hereinafter CONV). INTEG 1 to INTEG N are collectively referred to as integrator chain 230 (dashed frame). FIR-filter 220, is preferably, a polyphase filter with K filter channels 260-k (k=1 to K, dashed frames), optional commutator 290 (hereinafter MUX), and control block 300 (hereinafter CONTROL). Filter channel 260-k has multiplier unit 270-k (hereinafter MULT k) and accumulator unit 280-k (hereinafter ACCU k). The term "commutator" is intended to include multiplexers, switches or other circuits which select one signal out of a plurality of signals.

In FIGS. 4-5, arrows→on connection lines indicate a preferred signal flow direction. In the next paragraphs of this section (e), numbers 510 to 550 in brackets ! refer to method steps of 500 which will be explained in detailed in connection with FIG. 10. In integration filter 210, INTEG 1 receives input signal X₀ from input terminal 211 and provides intermediate signal X₁ on line 234-1 for INTEG 2. In general, INTEG 230-n (n>1) receives signal X_(n-1) on line 234-(n-1) from INTEG (n-1) and provides intermediate signal X_(n) to line 234-n. INTEG N provides X_(N) to line 234-N step 510!. Preferably, the number N of integrator blocks is N=3, but other values can also be used. INTEG n can be implemented by digital circuitry well known in the art, such as counters, adders, or other means. For convenience, an example for signal X_(n) (T_(X)) is explained in connection with FIG. 6. CONV receives intermediate signal X_(N) (T_(X)) on line 234-N and transforms it to intermediate signal V₁ (T_(V)) on line 254 step 520!. CONV (providing V₁ (T_(V)) ) can be implemented, for example, by a comb-filter described in section III of 4!. For convenience, an example for signal V₁ (T_(V)) which based on time interval T_(V) is illustrated in FIG. 7.

In FIR-filter 220, line 254 from integration filter 210 (placeholder 1) is coupled to inputs 272-k of MULT k for substantially simultaneously distributing intermediate signal V₁ (T_(V)) to MULT 1-K. Output 276-k of MULT k provides signal V_(2k) (T_(V)) to input 282-k of ACCU k step 530-k!. ACCU k provides intermediate signal W_(k) (T_(V)) to input 292-k of MUX step 540-k!. At one time interval T_(Y), bar 295 of MUX couples one of inputs 292-1 to 292-K to output 296 on output terminal 222. Thereby, circuit 200 provides output signal Y₀ (T_(Y)) cf. FIG. 2 and step 550 of FIG. 10!. Optionally, MUX comprises register 299 coupled between output 296 and output terminal 222 for keeping Y₀ (T_(Y)) constant during T_(Y). But this feature is not essential for the present invention.

At output 302, CONTROL simultaneously provides filter coefficients h_(k) (T_(V)) (k=1 to K) ("FIR-coefficients") every T_(V) to inputs 274-k of MULT k (k=1 to K) within step 530-k!. An example will be explained in connection with the operation diagram of FIG. 9. At output 304, CONTROL consecutively provides reset signals R_(k) (k=1 to K) to inputs 284-k of ACCU k step 560-k!. As illustrated by a line from output 306 to bar 295 of MUX, control block also controls MUX.

A person of skill in the art is able, based on the description herein, to implement circuit 200 by circuitry well known in the art. For example and not intended to be limiting, circuit 200 can be integrated on a monolithic chip manufactured in CMOS technology. The present invention can also be practiced on a digital signal processor (DSP) or on a general purpose processor.

When explaining the operation of circuit 200 in the following, signal propagation times trough the lines and the components are not considered for convenience.

(f)

FIG. 6 illustrates simplified time diagram 235 of digital intermediate signal X_(n) (T_(X)) in circuit 200. Diagram 235 has a vertical axis for signal amplitude of X_(n) (T_(X)) and a horizontal axis for discrete time intervals T_(X),

Preferably, INTEG 1 consecutively receives X₀ (T_(X)) and X₀ (T_(X) +1) and provides X₁ (T_(X) +1) (n=1) according to:

    X.sub.1 (T.sub.X +1):=X.sub.1 (T.sub.X)+X.sub.0 (T.sub.X +1)(f.1)

wherein symbol+stands for modulo addition. For example, the "1" and "-1" sequence of signal X₀ (T_(X)) of diagram 115 (FIG. 2) is integrated to

    X.sub.1 (1)=1

    X.sub.1 (2)=1+(+1)=2,

    X.sub.1 (3)=2+(-1)=1,

    X.sub.1 (4)=1+(+1)=2,

    X.sub.1 (5)=2+(-1)=1, etc.                                 (f.2)

INTEG n receives X_(n-1) (T_(X)) and X_(n-1) (T_(X) +1) and provides X_(n) (T_(X) +1) according to:

    X.sub.n (T.sub.X +1):=X.sub.n (T.sub.X)+X.sub.n-1 (T.sub.X)(f.3)

Signals X_(n) (T_(X)) have magnitudes between a minimum magnitude X_(n) min and a maximum magnitude X_(n) max in a preferred data range:

    {X.sub.n }={X.sub.n min ;X.sub.n max }                     (f.4)

Preferably, X_(n) min and X_(n) max are substantially at equal distance from a zero-magnitude X_(n) =0(at the T_(X) -axis). For example, traces 236 illustrate positive X_(n), and traces 237 illustrate negative X_(n). Conveniently, the magnitude of signal X_(n) can be represented by U_(n) bits. For example, X_(n) min and X_(n) max can be integer numbers with opposite sign:

    {X.sub.n }={-2 exp (U.sub.n -1);+ 2 exp (U.sub.n -1)!-1}   (f.5)

Such a representation is convenient because X_(n) has an average of zero. Preferably, the number of bits U_(n) is equal for all INTEG 1 to INTEG N:

    U.sub.1 =U.sub.2 =. . . U.sub.n =. . . U.sub.N =U          (f.6)

This is convenient, but not essential for the present invention. In the CDMA-example, signals X_(n) are, preferably, represented by U=16 bits (2¹⁵ =32768), in a data range:

    {X.sub.n }={-32768; 32767}                                 (f.7)

For example, INTEG n can be implemented by an accumulator whose output (i.e. X_(n) (T_(X) +1)) is incremented or decremented by X_(n-1) (T_(X)). To avoid overflow, INTEG n resets automatically to minimum value X_(n) min once maximum value X_(n) max has been reached trace 238); and resets to a X_(n) max once X_(n) min has been reached. Such accumulators are well known in the art under the term "wrap-around accumulator".

INTEG n operates at longer time intervals (i.e. T_(X)) than integrators 624 in prior art circuit 200 of FIG. 3. This is an important advantage of the present invention and simplifies the hardware implementation of INTEG n.

It is known in the art that the operation speed of an integrator (e.g., INTEG n) is related to its bit resolution U. For example, a speed increase of factor 2 results in an increase of one bit resolution, of factor 4 results in an increase of 2 bits, an so on. Integrators 618 of prior art circuit 600 can be compared with INTEG n of the present invention. Integrators 618 operate at an e.g., L_(XV) =4 higher speed than INTEG n. Considering the number N of e.g., N=3, integrators 618 require a 2*N=2*3=6 higher bit resolution than INTEG n of the present invention.

(g)

FIG. 7 illustrates simplified time diagram 255 of digital intermediate signal V₁ (T_(V)) and defines thereby time intervals T_(V). Diagram 255 has a vertical axis for signal amplitude of V₁ (T_(V)) and a horizontal axis for the discrete time intervals T_(V).

Discrete time interval T_(V) is related to T_(X) by partial interpolation factor L_(XV) and related to T_(Y) by partial decimation factor M_(VY) :

    T.sub.V =T.sub.X /L.sub.XV or (T.sub.X =L.sub.XV *T.sub.V) (g.1)

    T.sub.V =T.sub.Y /M.sub.VY or (T.sub.Y =M.sub.VY *T.sub.V) (g.2)

L_(XV) and M_(VY) are conveniently chosen as integer factors of overall decimation factor M_(XY) of circuit 200 introduced in section (b):

    M.sub.XY =M.sub.VY /L.sub.XV                               (g. 3)

Interval T_(V) can be considered as the reciprocal representation of an intermediate sampling rate F_(V) :

    T.sub.V =1/F.sub.V                                         (g. 4)

Signal V₁ (T_(V)) has preferably, a substantially equal data range as signal X_(N) (T_(X)):

    {V.sub.1 }={X.sub.N}                                       (g. 5)

Groups 251 with each L_(XV) consecutive signals

    V.sub.1 (a), V.sub.1 (a+1), V.sub.1,(a+2) . . . V.sub.1 (a+L.sub.XV -1)(g.6)

have substantially equal magnitudes which are substantially equal to the magnitude of X_(N) (T_(X)):

    V.sub.1 (s)≈V.sub.1 (s+1)≈V.sub.1 (s+2)≈. . . ≈V.sub.1 (s+L.sub.XV -1) ≈X.sub.N (T.sub.X)(g.7)

Rational fraction M_(XY) is illustrated by measurement lines 252 and 252'. Line 252 illustrates time interval T_(Y) (cf. FIG. 2) which comprises M_(VY) signals V₁ (T_(V)). Lines 252' illustrates that only a number of

    A<M.sub.VY                                                 (g. 8)

signals V₁ (T_(V)) fit completely into one time interval T_(Y). Number A is the product of L_(XV) and P:

    A=L.sub.XV *P                                              (g.9)

    A=L.sub.XV *integer (M.sub.XY)                             (g.10)

In other words, P groups 251 fit and one group (reference number 251') overlaps. In the CDMA-example (M_(XY) CDMA =262.5, P_(CDMA=) 262), L_(XV) is conveniently chosen as:

    L.sub.XV =4                                                (g.11)

and M_(VY) is chosen as:

    M.sub.VY =1050                                             (g.12)

(h)

FIG. 8 illustrates simplified spectra of transfer function H_(XV) (z) of integrator filter 210, H_(VY) (z) of FIR-filter 220, and an overall transfer function H_(XY) (z). Diagram 236 illustrates the frequency transfer function H_(XV) (z) (vertical axis) versus the frequency F (horizontal axis). Transfer function H_(XV) (z) is defined as the ratio between V₁ (z) and X₀ (z):

    H.sub.XV (z)=V.sub.1 (z)/X.sub.0 (z)                       (h.1)

H_(XV) (z) has poles at frequencies F_(X), 2*F_(X), 3*F_(X) and so on. The poles are N-fold. Function H_(XV) (z) is the multiple product of transfer functions H_(n) (z) of INTEG n (for n=1 to N) and transfer function H_(V) (z) of CONV: ##EQU4##

H_(n) (z) of INTEG n can be obtained, for example, by

    H.sub.n (z)=1/ 1-z(-.L.sub.XY)!                            (h.3)

which is the Z-transform of an integrator.

When, for example, CONV is implemented by a comb-filter (a FIR-filter with only "1" coefficients), then CONV has the transfer function H_(V) (z): ##EQU5## such as given in equation (14) of 4!. Combining equations (h.2), (h.3) and (h.4), the transfer function H_(XV) (z) is written as: ##EQU6##

Diagram 241 illustrates the frequency transfer function H_(VY) (z) of FIR-filter 220 versus the frequency F. Transfer function H_(VY) (z) is defined as the ratio between Y₀ (z) and V₁ (z):

    H.sub.VY (z)=Y.sub.0 (z)/V.sub.1 (z)                       (h.6)

H_(VY) (z) has substantially zeros at that frequencies (e.g., 0, F_(X), 2*F_(X), etc.) where H_(XV) (z) (diagram 236) has poles.

Diagram 256 illustrates the overall transfer function H_(XY) (z) of circuit 200. Function H_(XY) (z) is the product of both partial transfer functions H_(XV) (z) and H_(VY) (z):

    H.sub.XY (z)=H.sub.XV (z)*H.sub.VY (z)                     (h.7)

Poles are compensated by zeros and fluctuations are substantially avoided. Transfer function H_(XY) (z) is implemented by transfer functions H(z) of filter channels 260-k.

(i)

Function H(z) of filter channel 260-k ("FIR-function") can equivalently be represented in a product form (symbols II and *) and in sum form (symbolΕ). ##EQU7## N is the number of zeros and v_(max) is an order of H(z). In equations (i.1) and (i.2), H'(z) is an optional factor initially assumed to be H'(z)=1; and in equation (i.3), H"(z) is an additional summand initially assumed to be H"(z)=0. The product form (equations i.1 and i.2) is conveniently used discuss zeros of H(z), and the sum form is conveniently used to define filter coefficients h(v).

With the zeros, filter channel 260-k suppresses the N-fold poles of the transfer function H_(N) (z) of equations (h.1) to (h.5). To have the zeros of H(z) at that frequencies where H_(N) (z) has its poles, exponents i_(n) are preferably, divisible by L_(XV).

Transfer function H(z) in the product form (II) of equations (i.1) and (i.2) is transferred by polynomial multiplication well known in the art to the sum form (Ε) of equation (i.3). For convenience, an example is given for N=3:

    H(z)= 1z(-i.sub.1)!*  1-z(-i.sub.2)!* 1z(1-i.sub.3)!       (i.4)

    H(z)=1-z(-i.sub.1)-z(-i.sub.2)+z(-i.sub.1 i.sub.2)-z(-i.sub.3)+z(-i.sub.1 -i.sub.3)+z(-i.sub.2 -i.sub.3)-z(-i.sub.1 -i.sub.2 -i.sub.3).(i.5)

The exponents i_(n) are summed according to the calculation rules for powers. Filter coefficients h(v) and their indices v are obtained as follows:

(i) taking the ±sign in front of the z-operand as coefficient h(v)=+1 or h(v)=-1 and

(ii) taking the sum of the exponents as position index v.

The resulting coefficients are, for example:

    h(0)=+1;

    h(i.sub.1)=-1;

    h(i.sub.2)=-1;

    h(i.sub.1 +i.sub.2)=+1;

    h(i.sub.3)=-1;

    h(i.sub.1 +i.sub.3)=+1;

    h(i.sub.2 +i.sub.3)=+1;and

    h(i.sub.1 +i.sub.2 +i.sub.3)=-1.                           (i.6)

The first summand "1" in equation (i.5) has been considered as

    1=+z(-0)                                                   (i.7)

(j)

With FIR-function H(z)of equations (i.1) to (i.5), N-fold zeros are provided. FIR-function H(z) is, preferably, modified with optional factor H'(z) to obtain further zeros. H'(z) is given as follows: ##EQU8## For example, H'(z) provides additional Ψ-fold zeros at F_(X) *2, so the resulting zeros of H(z) are (N+Ψ)-fold at F_(X) *2, but other frequencies can also be used. Preferably, Ψ is smaller or equal to N:

    Ψ≦N.                                            (j.2)

With optional term H'(z) written into equations (i.1) and (i.2), transfer function H(z) is expressed as: ##EQU9##

    H(z)= 1-z(-i.sub.1)!* . . . * 1-z(-i.sub.n)!* . . .  1-z(-i.sub.N)!* 1+z(-j.sub.1)!* . . . * (1+z(-j.sub.105)!* . . .  (1+z(-j.sub.105)!

Preferably, exponents i_(n) (n=1 to N) and j₁₀₅ (Ψ=1 to Ψ) are different between themselves:

    i.sub.1 ≠i.sub.2 ≠. . . ≠i.sub.n ≠. . . ≠i.sub.N                                            (i. 5)

    j.sub.1 ≠j.sub.2 ≠. . . ≠j.sub.105 ≠. . . ≠j.sub.Ψ                                        (j 6)

Similar as in equations (i.4) to (i.5), the product form (II and *) of H'(z) is transferred to the sum form (Ε), such as in a convenient example for Ψ=2:

    H'(z)= 1+z(-j.sub.1)!* 1+z(-j.sub.2)!                      (i.7)

    H'(z)=1+z(-j.sub.1)+z(-j.sub.2)+z(-j.sub.1 j.sub.2)        (j.8)

H'(z) is further multiplied with the right side of equation (i.2): ##EQU10##

Preferably, exponents i_(n) (n=1 to N) and j₁₀₅ (Ψ=1 to Ψ) are chosen in that way that coefficients in H(z) become either "+1", "-1", or "0". This is convenient, but not essential.

(k)

Conveniently, exponents i_(n) and j.sub.Ψ can be obtained as follows for the CDMA-example. With, for example, M_(XY) CDMA =262.5, P=262, L_(XY) =4, and A=L_(XY) *P exponents i_(n) are calculated as

    i.sub.1 =A-b=4*262-24=1024                                 (k.1)

    i.sub.2=A =4*262=1048                                      (k.2)

    i.sub.3 =A+b=4*262+24=1072                                 (k.3)

with b being an L_(XY) =4 divisible integer variable (for example, b=24).

Exponents j₁₀₅ are calculated according to

    c=2*262=524                                                (k.4)

    j.sub.1 =c-d=518                                           (k.5)

    j.sub.2 =c+d=530                                           (k.6)

with c=(L_(XY) /2)*P=A/2(for example, c=2) and d being, preferably:

    d=/L.sub.XV =6                                             (k.7)

Integer d is, preferably, an even number which is not divisible by L_(XV) ; but other values for d can also be used.

Table I illustrates the frequency transfer function H(z) by equations (k.8) to (k.1). Equation (k.8) was obtained from equation (j.9) by multiplication and uses exponents i_(n) (i₁,i₂,i₃) and j.sub.Ψ (j₁, j₂). Equation (k.9) was obtained from (k.8) by replacing i₁, i₂, i₃, j₁, and j₂ using A, b, c, and d as defined in equations (k.1) to (k.6). Equation (k.10) is a simplification of equation (k.9). Equation (k.11) illustrates calculation results for the CDMA-example with the numbers from equations (k.1) to (k.6). In table I, column (1) references the summands ("terms") of H(z) by incrementing numbers 1 to 32.

In equations (k.10) and (k.11), the following terms cancel each other:

    -z(-A)+z(2*c)=0(term (3) and term (25))                    (k.12)

    +z(-2*A+b)-z(-A+b-2*c)=0(term (4) and term (26))           (k.13)

    +z(-2*A)-z(-A-2*c)=0(term (5) and term (27))               (k.14)

    +z(-2*A-b)-z(-A-b-2*c)=0(term (7) and term (29))           (k.15)

    -z(-3* A)+z(-2*A-2*c)=0(term (8) and term (30))            (k.16)

In table I, the cancellation is illustrated by canceled terms. Function H(z) is thereby further simplified and has 22 instead of 32 terms for the example given.

                                      TABLE I     __________________________________________________________________________     FIR-function H(z)       (k.8)    (k.9)          (k.10)  (k.11)     (1)       H(z) =   H(z) =         H(z)=   H(z) =     __________________________________________________________________________     1 1        1              1       1     2 -z(-i.sub.1)                -z(-(A-b))     -z(-A+b)                                       -z(-1024)     3 -z(-i.sub.2)                -z(-A)     4 +z(-i.sub.1 -i.sub.2)                +z(-(A-b)-A)     5 -z(-i.sub.3)                -z(-(A+b))     -z(-A-b)                                       -z(-1072)     6 +z(-i.sub.1 -i.sub.3)                +z(-(A-b)-(A+b))     7 +z(-i.sub.2 -i.sub.3)                +z(-A-(A+b))     8 -z(-i.sub.1 -i.sub.2 -i.sub.3)                -z(-(A-b)-A-(A+b))     9 +z(-j.sub.1)                +z(-(c-d))     +z(-c+d)                                       +z(-518)     10       -z(-i.sub.1 -j.sub.1)                -z(-(A-b)-(c-d))                               -z(-A+b-c+d)                                       -z(-1542)     11       -z(-i.sub.2 -j.sub.1)                -z(-A-(c-d))   -z(-A-c+d)                                       -z(-1566)     12       +z(-i.sub.1 -i.sub.2 -j.sub.1)                +z(-(A-b)-A-(c-d))                               +z(2*A+b-c+d)                                       +z(-2590)     13       -z(-i.sub.3 -j.sub.1)                -z(-(A+b)-(c-d))                               -z(-A-b-c+d)                                       -z(-1590)     14       +z(-i.sub.1 -i.sub.3 -j.sub.1)                +z(-(A-b)-(A+b)-(c-d))                               +z(-2*A-c+d)                                       +z(-2614)     15       +z(-i.sub.2 -i.sub.3 -j.sub.1)                +z(-A-(A+b)-(c-d))                               +z(-2*A-b-c+d)                                       +z(-2638)     16       -z(-i.sub.1 -i.sub.2 -i.sub.3 -j.sub.1)                -z(-(A-b)-A-(A+b)-(c-d))                               -z(-3*A-c+d)                                       -z(-3662)     17       +z(-j.sub.2)                +z(-(c+d))     +z(-c-d)                                       +z(-530)     18       -z(-i.sub.1 -j.sub.2)                -z(-(A-b)-(c+d))                               -z(-A+b-c-d)                                       -z(-1554)     19       -z(-i.sub.2 -j.sub.2)                -z(-A-(c+d))   -z(-A-c-d)                                       -z(-1578)     20       +z(-i.sub.1 -i.sub.2 -j.sub.2)                +z(-(A-b)-A-(c+d))                               +z(-2*A+b-c-d)                                       +z(-2602)     21       -z(-i.sub.3 -j.sub.2)                -z(-(A+b)-(c+d))                               -z(-A-b-c-d)                                       -z(-1602)     22       +z(-i.sub.1 -i.sub.3 -j.sub.2)                +z(-(A-b)-(A+b)-(c+d))                               +z(-2*A-c-d)                                       +z(-2626)     23       +z(-i.sub.2 -i.sub.3 -j.sub.2)                +z(-A-(A+b)-(c+d))                               +z(-2*A-b-c-d)                                       +z(-2650)     24       -z(-i.sub.1 -i.sub.2 -i.sub.3 -j.sub.2)                -z(-(A-b)-A-(A+b)-(c+d))                               -z(-3*A-c-d)                                       -z(-3674)     25       +z(-j.sub.1 -j.sub.2)                +z(-(c-d)-(c+d))     26       -z(-i.sub.1 -j.sub.1 -j.sub.2)                -z(-(A-b)-(c-d)-(c+d))     27       -z(-i.sub.2 -j.sub.1 -j.sub.2)                -z(-A-(c-d)-(c+d))     28       +z(-i.sub.1 -i.sub.2 -j.sub.1 -j.sub.2)                +z(-(A-b)-A-(c-d)-(c+d))                               +z(-2*A+b-2*c)                                       +z(-3120)     29       -z(-i.sub.3 -j.sub.1 -j.sub.2)                -z(-(A+b)-(c-d)-(c+d))     30       +z(-i.sub.1 -i.sub.3 -j.sub.1 -j.sub.2)                +z(-(A-b)-(A+b)-(c-d)-(c+d))     31       +z(-i.sub.2 -i.sub.3 -j.sub.1 -j.sub.2)                +z(-A-(A+b)-(c-d)-(c+d))                               +z(-2*A-b-2*c)                                       +z(-3168)     32       -z(-i.sub.1 -i.sub.2 -i.sub.3 -j.sub.1 -j.sub.2)                -z(-(A-b)-A-(A+b)-(c-d)-(c+d))                               -z(-3*A-2*c)                                       -z(-4192)     __________________________________________________________________________

Similar to equation (i.6), FIR-coefficients h(T_(V)) are obtained from equation (k.11) in table I with the ±sign for "-1" and "+1" coefficients, and exponents of the z-operator as index q.

Table II illustrates a simplified FIR-function H(z). Especially, table II shows

in column (1), term numbers for convenience;

in column (2), group indices g for groups of terms;

in column (3), equation (k.17) which is equation (k.9) of table I without the canceled terms and in a convenient order;

in column (4), T_(V) -indices of coefficients h(T_(V)) as combinations of A, b, c, and d; and

in column (5), coefficients h(T_(V)) with T_(V) -indices for the CDMA-example (cf. (k.11).

                  TABLE II     ______________________________________     Simplified FIR-function H(z)     (1)  (2)    (3)          (4)      (5)     ______________________________________     term g      H(z) =       T.sub.V  h(T.sub.V)(CDMA)     1    1      1            +1       h(0) = +1     2    2      +z(-c+d)     c-d      h(518) = +1     3           +z(-c-d)     c+d      h(530) = +1     4    3      -z(-A+b)     A-b      h(1024) = -1     5           -z(-A-b)     A+b      h(1072) = -1     6    4      -z(-A+b-c+d) A-b+c-d  h(1542) = -1     7           -z(-A+b-c-d) A-b+c+d  h(1554) = -1     8           -z(-A-c+d)   A+c-d    h(1566) = -1     9           -z(-A-c-d)   A+c+d    h(1578) = -1     10          -z(-A-b-c+d) A+b+c-d  h(1590) = -1     11          -z(-A-b-c-d) A+b+c+d  h(1602) = -1     12   5      +z(-2*A+b-c+d)                              2*A-b+c-d                                       h(2590) = +1     13          +z(-2*A+b-c-d)                              2*A-b+c+d                                       h(2602) = +1     14          +z(-2*A-c+d) 2*A+c-d  h(2614) = +1     15          +z(-2*A-c-d) 2*A+c+d  h(2626) = +1     16          +z(-2*A-b-c+d)                              2*A+b+c+d                                       h(2638) = +1     17          +z(-2*A-b-c-d)                              2*A+b+c+d                                       h(2650) = +1     18   6      +z(-2*A+b-2*c)                              2*A-b+2*c                                       h(3120) = +1     19          +z(-2*A-b-2*c)                              2*A+b-2*c                                       h(3168) = +1     20   7      -z(-3*A-c+d) 3*A+c-d  h(3662) = -1     21          -z(-3*A-c-d) 3*A+c+d  h(3674) = -1     22   8      -z(-3*A-2*c) 3*A+2*c  h(4192) = -1     ______________________________________

(l)

FIR-order Q of filter channel 260-k is calculated according to: ##EQU11## For N=3 and Ψ=2, equation (1.1) is similar to term (22) in column (3) of table II.

CDMA-example, the order Q is obtained as:

    Q=1024+1048+1072+518+530+1                                 (1.2)

    Q=4193                                                     (1.3)

The number K of filter channels 260-k is:

    K>integer (Q-1)/(M.sub.VY +1)                              (1.4)

In the CDMA-example, K=4 fulfills the equation:

    4>integer (4193-1)/(1050+1)                                (1.5)

    4>integer 4192/1051!                                       (1.6)

    4>3.99                                                     (1.7)

It is an important advantage of the present invention, that the number of non-zero coefficients (e.g., 22 coefficients h(T_(V))≠0)) is small compared to the FIR-order. This advantage contributes to a reduced power consumption during processing compared to the prior art.

(m)

Table III illustrates FIR-coefficients h₁ (T_(V)), h₂ (T_(V)), h₃ (T_(V)) and h₄ (T_(V)) (columns (2) to (5) (collectively h_(k) (T_(V))) which CONTROL supplies to MULT 1 to MULT 4 of filter channels 260-1, 260-2, 260-3 and 260-4, respectively, in system 200. For convenience, column (1) indicates group index g of table II. T_(V) in the parenthesis () indicate the time interval T_(Y) by which MULT k multiplies h_(k) (T_(V)) with V₁ (T_(V)). MULT 1 receives coefficients h(T_(V)) as given in columns (5) of table II. MULT k receives coefficients h_(k) (T_(V)) (channel index k) at a start time S_(k). Start time S_(k) of MULT k is M_(VY) time intervals T_(V) later than start time S_(k-1) of MULT (k-1). In the CDMA-example, start times are S₁ =0 for MULT 1, S₂ =M_(VY) =1050 for MULT 2, S₃ =2*M_(VY) =2100 for MULT 3, S₄ =3*M_(VY) =3150 for MULT 4, in a repetition S₁ =4*M_(VY) =4200 for MULT 1 and so on.

                  TABLE III     ______________________________________     Coefficients h.sub.k (T.sub.V) supplied to MULT 1 to 4     (1)  (2)        (3)        (4)      (5)     g    MULT1      MULT2      MULT3    MULT4     ______________________________________          S.sub.1 = 0                     S.sub.2 = 1050                                S.sub.3 = 2100                                         S.sub.4 = 3150     1    h.sub.1 (0) = +1                     h.sub.2 (1050) = +1                                h.sub.3 (2109) = +1                                         h.sub.4 (3150) = +1     2    h.sub.1 (518) = +1                     h.sub.2 (1568) = +1                                h.sub.3 (2618) = +1                                         h.sub.4 (3668) = +1          h.sub.1 (530) = +1                     h.sub.2 (1580) = +1                                h.sub.3 (2630) = +1                                         h.sub.4 (3680) = +1     3    h.sub.1 (1024) = -1                     h.sub.2 (2074) = -1                                h.sub.3 (3124) = -1                                         h.sub.4 (4174) = -1          h.sub.1 (1072) = -1                     h.sub.2 (2122) = -1                                h.sub.3 (3172) = -1                                         h.sub.4 (4222) = -1     4    h.sub.1 (1542) = -1                     h.sub.2 (2592) = -1                                h.sub.3 (3642) = -1                                         h.sub.4 (4692) = -1          h.sub.1 (1554) = -1                     h.sub.2 (2604) = -1                                h.sub.3 (3654) = -1                                         h.sub.4 (4704) = -1          h.sub.1 (1566) = -1                     h.sub.2 (2616) = -1                                h.sub.3 (3666) = -1                                         h.sub.4 (4716) = -1          h.sub.1 (1578) = -1                     h.sub.2 (2628) = -1                                h.sub.3 (3678) = -1                                         h.sub.4 (4728) = -1          h.sub.1 (1590) = -1                     h.sub.2 (2640) = -1                                h.sub.3 (3690) = -1                                         h.sub.4 (4740) = -1          h.sub.1 (1602) = -1                     h.sub.2 (2652) = -1                                h.sub.3 (3702) = -1                                         h.sub.4 (4752) = -1     5    h.sub.1 (2590) = +1                     h.sub.2 (3640) = +1                                h.sub.3 (4699) = +1                                         h.sub.4 (5740) = +1          h.sub.1 (2602) = +1                     h.sub.2 (3652) = +1                                h.sub.3 (4702) = +1                                         h.sub.4 (5752) = +1          h.sub.1 (2614) = +1                     h.sub.2 (3664) = +1                                h.sub.3 (4714) = +1                                         h.sub.4 (5764) = +1          h.sub.1 (2626) = +1                     h.sub.2 (3676) = +1                                h.sub.3 (4726) = +1                                         h.sub.4 (5776) = +1          h.sub.1 (2638) = +1                     h.sub.2 (3688) = +1                                h.sub.3 (4738) = +1                                         h.sub.4 (5788) = +1          h.sub.1 (2650) = +1                     h.sub.2 (3700) = +1                                h.sub.3 (4750) = +1                                         h.sub.4 (5800) = +1     6    h.sub.1 (3120) = +1                     h.sub.2 (4170) = +1                                h.sub.3 (5220) = +1                                         h.sub.4 (6270) = +1          h.sub.1 (3168) = +1                     h.sub.2 (4218) = +1                                h.sub.3 (5270) = +1                                         h.sub.4 (6318) = +1     7    h.sub.1 (3662) = -1                     h.sub.2 (4712) = -1                                h.sub.3 (5762) = -1                                         h.sub.4 (6812) = -1          h.sub.1 (3674) = -1                     h.sub.2 (4724) = -1                                h.sub.3 (5774) = -1                                         h.sub.4 (6824) = -1     8    h.sub.1 (4192) = -1                     h.sub.2 (5242) = -1                                h.sub.3 (6292) = -1                                         h.sub.4 (7342) = -1     ______________________________________

FIG. 9 illustrates by a simplified time diagram 400 how CONTROL provides coefficients h₁ (T_(V)), h₂ (T_(V)), h₃ (T_(V)), and h₄ (T_(V)). FIG. 9 is intended to be an example for CDMA. A person of skill in the are is able to implement CONTROL, based on the description herein, by circuitry well known in the art for the CDMA and for other applications. Coefficients h(T_(V)) can be precalculated and stored in a memory or CONTROL can have computational elements which calculate h(T_(V)) in real time, but such as distinction is not important for the present invention.

Horizontal line 401 indicates discrete time intervals T_(V) which are counted from T_(V) =0. Vertical lines 451, 452, 453, 454, 455, 456, and 457 at S₁ =0, S₂ =1050, S₃ =2100, S₄ =3150, S₁ '=4200, S₂ '=5250, and S₃ '=6300 (equidistant with "M_(VY) "), respectively, cross horizontal lines 410, 420, 430 and 440. Lines 410, 420, 430, and 440 have symbols | for coefficients h₁ (T_(V)), h₂ (T_(V)), h₃ (T_(V)), and h₄ (T_(V)), respectively. Symbols | above lines 410-440, indicate h_(k) ="+1", and symbols | below lines 410-440 indicate h_(k) ="-1". When at any time T_(V), a line does not have a symbol, then coefficient h_(k) (T_(V)) is zero (h_(k) =0). The time intervals between S_(k) +(Q-1) (e.g., 4192 on line 410) and S_(k) '(e.g., 4200) are waiting times T_(WAIT) k in which MULT k receives h_(k) =0.

Dashed frame 530-1 cf. step 530-1 in FIG. 10! which encloses line 410 from T_(V) =0 to T_(V) =4192 indicates a first cycle in which CONTROL sends h₁ (T_(V)) to MULT 1. Dashed frames 490-g (g=1 to 8) around the coefficient symbols | on line 420 indicate groups g of tables II and III. Dashed time line 495 at

    T.sub.V =1050+2096=3146(for h.sub.2 (T.sub.V)              (m.1)

    T.sub.V =S.sub.k +2*A                                      (m.2)

illustrates that for each cycle, coefficients h_(k) (T_(V)) are, preferably, in an anti-symmetric time sequence. For example, group 1 is anti-symmetric to group 8 with h_(k) =(T_(V))"+1" and "-1" coefficients; group 2 is anti-symmetric to group 7; group 3 to group 6; and group 4 to group 5.

A cycle repetition is indicated by symbols | for h₁ (T_(V)) enclosed in dashed frame 530-1'(right-side-open). The first cycle is repeated beginning with T_(V) =4200 (K*M_(VY)). For simplicity, further cycles for h₂ (T_(V)) (beginning at T_(V) =5250), h₃ (T_(V)) (beginning at T_(V) =6300) and h₄ (T_(V)) (beginning at T_(V) =7350) are not shown.

(n)

FIG. 10 illustrates a simplified flow chart diagram of method 500 according to the present invention. Method 500 comprises method steps 510, 520, 530-k, 540-k, 550-k and 560-k illustrated by blocks. Index k is the channel index from k=1 to K. For convenience, time axis 501 represents the time in T_(V) intervals progressing to the right of FIG. 10. For convenience, time axis 501 gives characteristic start times S_(k) for the CDMA-example (e.g., S₁ =0, S₂ =1050, S₃ =2100, S₄ =3150, in repetitions S₁ '=4200, S₂ '=5250, S₃ '=6300, etc.) but these T_(V) -numbers are not essential for the present invention. Steps can be performed in parallel. Repetitions of steps in multiple cycles are indicated by prime markers, such as, e.g., in step 530- 1' or for start times S_(k) '. For convenience, components INTEG 1-N, CONVERT, MULT k, ACCU k, and MUX of circuit 200 (FIGS. 4-5) which participate in certain steps are indicated within the blocks by bold letters. Method 500 comprises integrating step 510 performed by INTEG 1 to INTEG N, interpolating step 520 performed by CONVERT, multiplying step 530-k by MULT k and CONTROL, accumulating step 540-k by ACCU k, reading step 550-k by MUX and CONTROL, and resetting step 560-k by ACCU k and CONTROL.

In integrating step 510, INTEG 1 to INTEG N continuously integrate X₀ (T_(X)) to X_(N) (T_(X)), for example as described in connection with FIG. 6. Integrating step 510 is, preferably, performed all the time.

In interpolating step 520, CONVERT continuously interpolates X_(N) (T_(X)) to V₁ (T_(V)) and provides V₁ (T_(V)) to MULT 1 to MULT K. For example, CONVERT receives X_(N) (T_(X)) and provides V₁ (s) (see FIG. 7) which goes via line 254 (FIG. 5) to MULT 1, to MULT 2, to MULT 3, and to MULT 4. Then, CONVERT provides V₁ (a+1) which also goes to MULT 1 to MULT 4. After having provided V₁ (a+L_(XV) -1), CONVERT takes X_(N) (T_(X) +1) and so on. Converting step 520 is, preferably, performed, all the time.

In multiplying step 530-k CONTROL generates coefficients h_(k) (T_(V)) (sections (h) to (m)). MULT k provides intermediate result, for example, according to:

    V.sub.2k =V.sub.1 (T.sub.V)* h.sub.k (T.sub.V)             (n.1)

Multiplying step 530-k is, preferably, repeated every time interval T_(V) within S_(k) and S_(k) +(Q-1). In the waiting time (before new S_(k) '), coefficients h_(k) are assumed to be at zero so that V_(2k) =0.

In accumulating step 540-k, ACCU k accumulates V_(2k) (T_(V)) to W_(k) (T_(V)), for example, according to: ##EQU12##

For example, ACCU I receives V_(2k) (T_(V)) beginning at T_(V) =S₁ =0 and finishes the accumulation of W₁ (T_(V)) at T_(V) =Q-1. In the CDMA-example, steps 530-1 and 540-1 provide W₁ according to (equations n.1, n.2, and coefficients h(T_(V)) from table II, columns (2)): ##EQU13## Accumulating step 540-k is repeated at every time interval T_(V). For simplicity of implementation, step 540-k can also be performed during the waiting time T_(WAIT) k.

In reading step 550-k, MUX reads W_(k) from ACCU k and forwards W_(k) as Y₀ (T_(Y)) to output terminal 222. In reading step 550-k, register 299 can optionally store Y₀ (T_(Y)) over T_(Y), In FIG. 10, the blocks for step 550-k are larger than the time required for performing the step which can be smaller than one time interval T_(V).

In resetting step 560-k, CONTROL sends reset signal R_(k) to ACCU k, so that

    W.sub.k =0                                                 (n.4)

Resetting step 560-k is performed after reading step 550-k, preferably during waiting time T_(WAIT) k. In FIG. 10, the blocks for step 560-k are larger than the time required for performing the step.

Multiplying step 530-k, accumulating step 540-k, reading step 550-k, and resetting step 560-k are cyclically repeated (steps 530-k', 540-k', 550-k', 560-k' and so on). Steps k and steps (k+1) are performed with a shift of T_(Y).

(o)

While the present invention has been described in terms of particular structures, devices and materials, those of skill in the art will understand based on the description herein that it is not limited merely to such examples and that the full scope of the invention is properly determined by the claims that follow.

The rational decimation circuit and the method of the present invention are distinguished from the prior art by the following features: (i) The present invention uses an integration filter which integrates first and interpolates second (interpolation after integration). Prior art circuits interpolate and then integrate (interpolation before integration). (ii) A Finite Impulse Response filter "FIR-filter", coupled to the integration filter, suppresses signal fluctuations which could arise because of poles in an integrating function H_(XV) (z). In the FIR-filter, "0", "-1" and "+1" filter coefficients provide a filter function H_(VY) (z) which has zeros where the integrating function H_(XV) (z) has poles. A resulting overall transfer function H_(XY) (z) has a reduced number of poles. (iii) The FIR-filter is, preferably, a polyphase filter with a plurality of filter channels are switched by a commutator. (iv) The numbers of "+1"-coefficients and "-1"-coefficients in the FIR-filter are, preferably, equal in all filter channels. Preferably, the total number of "+1" and "-1" coefficients is larger than the total number of "0" coefficients. (v) Integrators operates at the input sampling rate and not at a higher intermediate sampling rate.

Glossary of Terms

In the following, (i) abbreviations, (ii) physical units, and (iii) writing conventions are listed alphabetically. This glossary is provided only for convenience.

    ______________________________________     (i) Abbreviations     a        index for signals V.sub.1 (T.sub.V)     A        number of signals V.sub.1 (T.sub.V) fitting into T.sub.Y     ACCU k   "accumulator unit" with index k     A/D      analog-to-digital     b        auxiliary variable     c        auxiliary variable     CDMA     Code Division Multiple Access     CONV     "interpolator block" or "converter"     CONTROL  "control block"     d        auxiliary variable     DSP      Digital Signal Processing     f        frequency of an analog signal x(t)     f.sub.max              maximum frequency f of an analog signal     F        sampling rate, frequency     F.sub.X CDMA              sampling rate for CDMA, F.sub.X CDMA = 4.2 MHz     F.sub.X GSM              sampling rate for GSM, F.sub.X GSM = 6.5 MHz     F.sub.X  input sampling rate, e.g., F.sub.X = F.sub.X GSM or F.sub.X =              F.sub.X CDMA     F.sub.Y  output sampling rate, e.g., F.sub.Y = 16 kHz, F.sub.Y ≧              f.sub.max     F.sub.V  intermediate sampling rate     FIR      Finite Impulse Response     GSM      Global System for Mobile Communication     i        exponent for z operator     INTEG n  "integrator block", with index n     j        exponent for z operator     H(z)     frequency transfer function, in general     H.sub.n (z), H.sub.N (z)              frequency transfer function of N integrator blocks n     H.sub.V (z)              frequency transfer function of an interpolator block     H.sub.XV (z)              frequency transfer function of an integration filter     H.sub.VY (z)              frequency transfer function of an FIR-filter     H.sub.XY (z)              overall transfer function     h(ν),h(T.sub.V)              FIR-coefficients     K        number of channels     k        index for channels k = 1 to K     L        interpolation factor     L.sub.XV interpolation factor of an interpolator block, e.g., L.sub.XV =              4     M        decimation factor     M.sub.XY overall decimation factor M.sub.XY = F.sub.X /F.sub.Y     MULT k   "multiplier unit" with index k     MUX      "commutator" or "multiplexer"     N        number of integrator blocks     n        index for integrator block n = 1 to N     U.sub.n, U              word length of signals X.sub.n, Y.sub.0, in bits, e.g., U = 16              bits     p        counter for time intervals T.sub.X     P        number of time interval T.sub.X fitting into T.sub.Y     Q        FIR-order and number of FIR-coefficients h(T.sub.V)     R.sub.k  reset signal for ACCU k     S.sub.k  start interval for channel k     t        time, in general     T        discrete time interval     T.sub.X  discrete time interval being T.sub.X = 1/F.sub.X     T.sub.Y  discrete time interval being T.sub.Y = 1/F.sub.Y     x(t)     analog signal     X.sub.0 (T.sub.X)              digital input signal having sampling rate F.sub.X     X.sub.n,(T.sub.X)X.sub.N (T.sub.X)              intermediate signal after an integrator n or N     Y.sub.0 (T.sub.Y)              digital output signal having sampling rate G.sub.Y     V.sub.1 (T.sub.V)              digital intermediate signal after interpolator block     W.sub.k (T.sub.V)              digital intermediate signal in channel k     z        operator in the z-domain     { X.sub.0 }              preferred data range of input signal X.sub.0 (T.sub.X), e.g.,              { -1; +1 }     { X.sub.n }              preferred data range of signal X.sub.n (T.sub.X)              { -2.sup.(U-1) ; 2.sup.(U-1) -1 }, preferred e.g.,              for U = 16: { -32768; 32767 }     { 0, Y.sub.max }              preferred data range of output signal Y.sub.0     Θ(θ)              time discrete signal     θ  counter for time discrete signal Θ(θ)     γ  counter for time intervals T.sub.Y     ν,ν.sub.max              index for coefficients h(ν)     ψ    index for factors     Ψ    number of factors     1        a placeholder     (ii) Physical Units     Hz       Hertz for the frequency     kHz      kilo hertz     MHz      megahertz     s        second for the time     ms       milli second     μs    micro second     (iii) Writing Conventions     a exp (b)              "a" to the power of "b", for example, 2 exp (3) = 2.sup.3 = 8              "b" is the "exponent"     z(-c)    z exp(-c) = z.sup.-c     *        multiplication     \ and --              division     II       product of multiple factors     Σ  sum of multiple summands     ∞  infinite     integer (M)              integer part of e.g., M, e.g.,              integer (3.6) = 3, integer (7.2) = 7     ______________________________________ 

We claim:
 1. A method for converting a sampling rate F_(X) of an input signal X₀ to a sampling rate F_(Y) =F_(X) /M_(XY) of an output signal Y₀, with M_(XY) being an overall decimation factor,said method comprising the steps of:integrating said input signal X₀ to an intermediate signal X_(N) without changing said sampling rate F_(X) ; interpolating said intermediate signal X_(N) to an intermediate signal V₁ having a sampling rate F_(V) =L_(XV) *F_(X), with L_(XV) being an intermediate decimation factor; multiplying said intermediate signal V₁ with filter coefficients h_(k) and accumulating the products to provide intermediate signals W_(k), with cycles starting at distances M_(VY) =M_(XY) *L_(XY), with M_(VY) being an intermediate decimation factor; and reading every T_(Y) =1/F_(Y) said intermediate signal W_(k) to provide said output signal Y₀.
 2. The method of claim 1 further comprising a resetting step being performed at the send of said cycles to set said intermediate signals W_(k) to zero.
 3. The method of claim 1 wherein L_(XV) =4.
 4. The method of claim 1 wherein said filter coefficients h_(k) have values "+1", "-1" and "0" arranged in an anti-symmetric time sequence.
 5. The method of claim 1 wherein said integrating step is performed by N integrators, and wherein said filter coefficients h_(k) are calculated by polynomial multiplication of ##EQU14## with exponents "i_(n) " being divisible by said intermediate interpolation factor L_(XV) and H'(z) a factor with any value.
 6. The method of claim 5 wherein said factor H'(z) is ##EQU15## with Ψ≦N.
 7. A method for convertinga first time discrete signal X₀ (T_(X)) based on first time intervals T_(X) to a second time discrete signal Y₀ (T_(Y)) based on second time intervals T_(Y) =M_(XY) *T_(X), with M_(XY) >1 being a decimation factor, said method using a third, intermediate signal V₁ (T_(V)) based on third time intervals T_(V) =L_(XV) *T_(X) ; said method comprising the following steps:continuously integrating X₀ (T_(X)) to a fourth, intermediate signal X_(N) (T_(X)); continuously interpolating X_(N) (T_(X)) to V₁ (T_(V)); and in K cycles identified by index k;(i) multiplying V₁ (T_(V)) with FIR-coefficients h_(k) (T_(V)) to obtain fifth, intermediate signals V_(2k) (V_(T))=V₁ (T_(V))*h_(k) (T_(V)); (ii) accumulating V_(2k) (T_(V)) to a sixth, intermediate signal W_(k) (T_(V)); (iii) repeating steps (i) and (ii) for Q-1 time intervals T_(V), with Q being an FIR-order; (iv) providing Y₀ (T_(Y)) as W_(k) (T_(V)); (v) resetting W_(k), with said K cycles being performed in parallel wherein cycles k and k+1 start with M_(VY) *T_(V) time shifts.
 8. The method of claim 7 wherein Q<M_(VY) *L_(XV).
 9. The method of claim 7 wherein K>integer (Q-1)/(M_(VY) +1).
 10. The method of claim 7 wherein said FIR-coefficients h_(k) (T_(V)), used in said multiplying step (i), provide a frequency transfer function with zeros at that frequencies at which poles are produced during said integrating and interpolating steps.
 11. The method of claim 7 wherein said FIR-coefficients h_(k) (T_(V)) are calculated by polynomial multiplication of ##EQU16## with H(z) being a transfer function for steps (i) to (v) canceling poles of said integrating and interpolating steps, exponents i_(n) being divisible by L_(XV).
 12. An apparatus for transforming a first signal having a first sampling rate to a second signal having a second sampling rate, said apparatus comprising:a first filter receiving said first signal, integrating said first signal and interpolating said first signal to a third, intermediate signal having a third sampling rate, said first filter having a first frequency transfer function with poles; and a second filter receiving said third signal and providing said second signal, said second filter having a second frequency transfer function with zeros at some or all of frequencies at which said first filter has said poles, said apparatus having an overall transfer function in which some or all poles of said first filter are canceled.
 13. The apparatus of claim 12 wherein said first sampling rate is smaller than said second sampling rate and wherein said third sampling rate is larger than said second sampling rate.
 14. The apparatus of claim 12 wherein said first filter integrates said first signal by N integrators and said second filter provides zeros which are at least N-fold.
 15. The apparatus of claim 12 wherein said second filter employs K channels and a multiplexer,(i) each channel at said third sampling rate multiply said third signal with FIR-coefficients to provide fourth, intermediate signals, and accumulate said fourth signals to provide sixth, intermediate signals, (ii) said multiplexer at said second sampling rate forwarding said sixth, intermediate signals to said second signals.
 16. The apparatus of claim 12 wherein said second filter employs K channels which are FIR-filters of the order Q, said Q/K being smaller than the ratio between said third sampling rate and said first sampling rate.
 17. The apparatus of claim 12 wherein said second filter employs K channels, a multiplexer and a control block, channels filtering said third signal to K filter signals, said multiplexer at said second sampling rate transferring said filter signals to said second signal, and said control block providing cycles of FIR-coefficients to said channels.
 18. An apparatus for providing a rational decimation by transferring a first, high sampling rate 1/T_(X) of an input signal X₀ (T_(X)) to a second, lower sampling rate 1/T_(Y) of an output signal Y₀ (T_(Y)), said apparatus comprising:an integration filter havingan integrator chain for integrating said input signal X₀ (T_(X)) to an intermediate signal X_(N) (T_(X)), an interpolator block for interpolating X_(N) (T_(X)) to an intermediate signal V₁ (T_(V)) at a third, highest sampling rate 1/T_(V) ; and a FIR-filter for decimating V₁ (T_(V)) to said output signal Y₀ (T_(Y)), said FIR-filter employing FIR-coefficients such that poles introduced to the spectrum of V₁ (T_(V)) by a first transfer function of said integration filter are canceled by zeros in the spectrum of a second transfer function of said FIR-filter.
 19. The apparatus of claim 18 wherein said integrator chain comprises N serially arranged integrator block and wherein said second transfer function has at least N-fold zeros.
 20. The apparatus of claim 18 wherein said integrator chain comprises wrap-around accumulators.
 21. The circuit of claim 18 wherein said interpolator is implemented by a comb-filter.
 22. The circuit of claim 18 wherein said FIR-filter comprises K filter channels which are multiplexed and operate time-shifted.
 23. The circuit of claim 18 wherein said FIR-filter comprises K filter channels:K= (Q-1)/(M_(VY) +1), with Q being an FIR-order of said channels and M_(VY) being M_(VY) =T_(Y) /T_(V). 